Cloud One Workload SecurityのエージェントインストールをSystems Manager Run Commandで実行する
はじめに
こんにちは。AWS事業本部コンサルティング部に所属している和田響です。
Cloud One Workload Securityを利用する際に、複数のEC2インスタンスにインストールスクリプトを実行するのがやや面倒だったので、Systems ManagerのRun Commandをで一括で実行してみました。
同時実行の条件としては以下2点です。
- 対象のEC2インスタンスがマネージドインスタンスである
- 対象のEC2インスタンスが同じOSで起動している
- 対象のEC2インスタンスがすべて同じセキュリティポリシーを使用する
Cloud One Workload Securityとは
Cloud One Workload Securityとは、トレンドマイクロ株式会社の提供するサーバ保護に必要な複数のセキュリティ機能を、仮想化・クラウド・物理環境にまたがって一元的に提供するSaaS型のセキュリティサービスです。
AWS環境のEC2インスタンスにも導入可能で、そのためには専用のエージェントインストールする必要があります。
Systems Manager Run Commandとは
Systems Manager Run Commandは、SSMエージェントをインストールしたインスタンスに対し、ドキュメントとしてあらかじめ用意したタスクをコマンドとして実行できる機能です。 簡単にいうと、AWS Systems Managerからリモートでコマンド実行などの操作が可能になります。
やってみる
準備
今回は以下の2台のEC2インスタンスを用意しました。
- test-c1ws-1
- test-c1ws-2
Amazon Linuxで起動しているためSSMエージェントはデフォルトでインストール済みです。
AmazonSSMManagedInstanceCore のIAMポリシーを許可したIAMロールをアタッチしてあります。
Workload SecurityはAWSアカウントと連携済みで、コンソールに現在起動しているEC2インスタンスの一覧が表示されている状態です。(ステータスが非管理対象となっているためエージェントは未インストールです)
Cloud Oneアカウントの作成やAWSアカウントの連携がまだの方はこちらをご確認ください。
インストールスクリプトの生成
Workload Securityのコンソールの右上のタブから「サポート情報」-「インストールスクリプト」をクリックします。
今回はAmazon LinuxのEC2インスタンスのため、プラットフォームは Linux版Agentのインストール を選択します。
セキュリティポリシーはとくに考慮しないため Base Policy を指定します。
「クリップボードにコピー」をクリックし、インストールスクリプトをコピーします。
Systems Manager Run Commandの実行
AWS Systems Managerのコンソールの再度タブから「Run Command」をクリックします。
「Run Command」をクリックします。
コマンドドキュメントから「AWS-RunShellScript」を選択します。
(AWS-RunShellScriptはLinux環境でシェルスクリプトを実行するか、またはスクリプトを実行するパスを指定できます。)
「Commands」に前述の手順でコピーしたインストールスクリプトをペーストします。
ターゲットにエージェントをインストールするEC2インスタンスを選択します。
ターゲットの指定方法はいくつかありますが、今回は「インスタンスを手動で選択する」より、個別に対象のEC2インスタンスを選択します。
※エージェントをインストールしたいEC2インスタンスが表示されない場合は以下の条件が揃っていない(マネージドインスタンスになっていない)可能性があります。
- SSMエージェントがインストール・有効化されていない
- AmazonSSMManagedInstanceCore のIAMポリシーを許可したIAMロールがアタッチされていない
- マネージドコンソールからEC2インスタンスへの接続経路が確立できていない(IGW,NATGW,エンドポイント等)
詳細は以下を確認ください。
内容を確認し「実行」をクリックします。
エラーなくスクリプトが実行できたようです。
Workload Securityのコンソールに戻ると、インストールスクリプトを実行したEC2インスタンスのステータスが「管理対象(オンライン)」になっており、無事にエージェントがインストールできたことが確認できました。
最後に
今回は複数あるEC2インスタンスに対してWorkload Securityのエージェントインストールスクリプトを同時実行する方法として、Systems Manager Run Commandを使ってみました。
個別にEC2インスタンスに接続してスクリプトを実行する手間が省けました。
同じ環境の数十台単位のEC2インスタンスに対してWorkload Securityを導入する必要がある際などに参考にしていただければと思います。